<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
(c) The University of Glasgow, 2004-2006


Module
~~~~~~~~~~
Simply the name of a module, represented as a FastString.
These are Uniquable, hence we can build Maps with Modules as
the keys.
-}</span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-pragma">{-# LANGUAGE DeriveDataTypeable #-}</span><span>
</span><span id="line-13"></span><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
</span><span id="line-14"></span><span class="hs-pragma">{-# LANGUAGE ExplicitNamespaces #-}</span><span>
</span><span id="line-15"></span><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
</span><span id="line-16"></span><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
</span><span id="line-17"></span><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><span id="line-18"></span><span class="hs-pragma">{-# LANGUAGE TypeSynonymInstances #-}</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Unit.Module</span><span>
</span><span id="line-21"></span><span>    </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html"><span class="hs-identifier">GHC.Unit.Types</span></a></span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span>      </span><span class="annot"><span class="hs-comment">-- * The ModuleName type</span></span><span>
</span><span id="line-24"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html"><span class="hs-identifier">GHC.Unit.Module.Name</span></a></span><span>
</span><span id="line-25"></span><span>
</span><span id="line-26"></span><span>      </span><span class="annot"><span class="hs-comment">-- * The ModLocation type</span></span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Location.html"><span class="hs-identifier">GHC.Unit.Module.Location</span></a></span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span>      </span><span class="annot"><span class="hs-comment">-- * ModuleEnv</span></span><span>
</span><span id="line-30"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html"><span class="hs-identifier">GHC.Unit.Module.Env</span></a></span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span>      </span><span class="annot"><span class="hs-comment">-- * Generalization</span></span><span>
</span><span id="line-33"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#getModuleInstantiation"><span class="hs-identifier">getModuleInstantiation</span></a></span><span>
</span><span id="line-34"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier">getUnitInstantiations</span></a></span><span>
</span><span id="line-35"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#uninstantiateInstantiatedUnit"><span class="hs-identifier">uninstantiateInstantiatedUnit</span></a></span><span>
</span><span id="line-36"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#uninstantiateInstantiatedModule"><span class="hs-identifier">uninstantiateInstantiatedModule</span></a></span><span>
</span><span id="line-37"></span><span>
</span><span id="line-38"></span><span>      </span><span class="annot"><span class="hs-comment">-- * The Module type</span></span><span>
</span><span id="line-39"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#mkHoleModule"><span class="hs-identifier">mkHoleModule</span></a></span><span>
</span><span id="line-40"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#isHoleModule"><span class="hs-identifier">isHoleModule</span></a></span><span>
</span><span id="line-41"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#stableModuleCmp"><span class="hs-identifier">stableModuleCmp</span></a></span><span>
</span><span id="line-42"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#moduleStableString"><span class="hs-identifier">moduleStableString</span></a></span><span>
</span><span id="line-43"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#moduleIsDefinite"><span class="hs-identifier">moduleIsDefinite</span></a></span><span>
</span><span id="line-44"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#HasModule"><span class="hs-identifier">HasModule</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-45"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#ContainsModule"><span class="hs-identifier">ContainsModule</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-46"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#unitIdEq"><span class="hs-identifier">unitIdEq</span></a></span><span>
</span><span id="line-47"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html#installedModuleEq"><span class="hs-identifier">installedModuleEq</span></a></span><span>
</span><span id="line-48"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.DSet.html"><span class="hs-identifier">GHC.Types.Unique.DSet</span></a></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html"><span class="hs-identifier">GHC.Unit.Types</span></a></span><span>
</span><span id="line-54"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html"><span class="hs-identifier">GHC.Unit.Module.Name</span></a></span><span>
</span><span id="line-55"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Location.html"><span class="hs-identifier">GHC.Unit.Module.Location</span></a></span><span>
</span><span id="line-56"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html"><span class="hs-identifier">GHC.Unit.Module.Env</span></a></span><span>
</span><span id="line-57"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Misc.html"><span class="hs-identifier">GHC.Utils.Misc</span></a></span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span class="hs-comment">-- | A 'Module' is definite if it has no free holes.</span><span>
</span><span id="line-60"></span><span class="annot"><a href="GHC.Unit.Module.html#moduleIsDefinite"><span class="hs-identifier hs-type">moduleIsDefinite</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-61"></span><span id="moduleIsDefinite"><span class="annot"><span class="annottext">moduleIsDefinite :: Module -&gt; Bool
</span><a href="GHC.Unit.Module.html#moduleIsDefinite"><span class="hs-identifier hs-var hs-var">moduleIsDefinite</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UniqDSet ModuleName -&gt; Bool
forall a. UniqDSet a -&gt; Bool
</span><a href="GHC.Types.Unique.DSet.html#isEmptyUniqDSet"><span class="hs-identifier hs-var">isEmptyUniqDSet</span></a></span><span> </span><span class="annot"><span class="annottext">(UniqDSet ModuleName -&gt; Bool)
-&gt; (Module -&gt; UniqDSet ModuleName) -&gt; Module -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; UniqDSet ModuleName
forall u. GenModule (GenUnit u) -&gt; UniqDSet ModuleName
</span><a href="GHC.Unit.Types.html#moduleFreeHoles"><span class="hs-identifier hs-var">moduleFreeHoles</span></a></span><span>
</span><span id="line-62"></span><span>
</span><span id="line-63"></span><span class="hs-comment">-- | Get a string representation of a 'Module' that's unique and stable</span><span>
</span><span id="line-64"></span><span class="hs-comment">-- across recompilations.</span><span>
</span><span id="line-65"></span><span class="hs-comment">-- eg. &quot;$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal&quot;</span><span>
</span><span id="line-66"></span><span class="annot"><a href="GHC.Unit.Module.html#moduleStableString"><span class="hs-identifier hs-type">moduleStableString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-67"></span><span id="moduleStableString"><span class="annot"><span class="annottext">moduleStableString :: Module -&gt; String
</span><a href="GHC.Unit.Module.html#moduleStableString"><span class="hs-identifier hs-var hs-var">moduleStableString</span></a></span></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">{</span><span id="local-6989586621680801588"><span id="local-6989586621680801589"><span class="annot"><span class="annottext">ModuleName
Unit
moduleUnit :: forall unit. GenModule unit -&gt; unit
moduleName :: forall unit. GenModule unit -&gt; ModuleName
moduleName :: ModuleName
moduleUnit :: Unit
</span><a href="GHC.Unit.Types.html#moduleUnit"><span class="hs-glyph hs-var hs-var hs-var hs-var">..</span></a></span></span></span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-68"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Unit -&gt; String
</span><a href="GHC.Unit.Types.html#unitString"><span class="hs-identifier hs-var">unitString</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801589"><span class="hs-identifier hs-var">moduleUnit</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
</span><a href="GHC.Unit.Module.Name.html#moduleNameString"><span class="hs-identifier hs-var">moduleNameString</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801588"><span class="hs-identifier hs-var">moduleName</span></a></span><span>
</span><span id="line-69"></span><span>
</span><span id="line-70"></span><span>
</span><span id="line-71"></span><span class="hs-comment">-- | This gives a stable ordering, as opposed to the Ord instance which</span><span>
</span><span id="line-72"></span><span class="hs-comment">-- gives an ordering based on the 'Unique's of the components, which may</span><span>
</span><span id="line-73"></span><span class="hs-comment">-- not be stable from run to run of the compiler.</span><span>
</span><span id="line-74"></span><span class="annot"><a href="GHC.Unit.Module.html#stableModuleCmp"><span class="hs-identifier hs-type">stableModuleCmp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Ordering</span></span><span>
</span><span id="line-75"></span><span id="stableModuleCmp"><span class="annot"><span class="annottext">stableModuleCmp :: Module -&gt; Module -&gt; Ordering
</span><a href="GHC.Unit.Module.html#stableModuleCmp"><span class="hs-identifier hs-var hs-var">stableModuleCmp</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span id="local-6989586621680801583"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801583"><span class="hs-identifier hs-var">p1</span></a></span></span><span> </span><span id="local-6989586621680801582"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801582"><span class="hs-identifier hs-var">n1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span id="local-6989586621680801581"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801581"><span class="hs-identifier hs-var">p2</span></a></span></span><span> </span><span id="local-6989586621680801580"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801580"><span class="hs-identifier hs-var">n2</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-76"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801583"><span class="hs-identifier hs-var">p1</span></a></span><span> </span><span class="annot"><span class="annottext">Unit -&gt; Unit -&gt; Ordering
</span><a href="GHC.Unit.Types.html#stableUnitCmp"><span class="hs-operator hs-var">`stableUnitCmp`</span></a></span><span>  </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801581"><span class="hs-identifier hs-var">p2</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-77"></span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801582"><span class="hs-identifier hs-var">n1</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; ModuleName -&gt; Ordering
</span><a href="GHC.Unit.Module.Name.html#stableModuleNameCmp"><span class="hs-operator hs-var">`stableModuleNameCmp`</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801580"><span class="hs-identifier hs-var">n2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-78"></span><span>
</span><span id="line-79"></span><span class="hs-keyword">class</span><span> </span><span id="ContainsModule"><span class="annot"><a href="GHC.Unit.Module.html#ContainsModule"><span class="hs-identifier hs-var">ContainsModule</span></a></span></span><span> </span><span id="local-6989586621680801576"><span class="annot"><a href="#local-6989586621680801576"><span class="hs-identifier hs-type">t</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-80"></span><span>    </span><span id="extractModule"><span class="annot"><a href="GHC.Unit.Module.html#extractModule"><span class="hs-identifier hs-type">extractModule</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621680801576"><span class="hs-identifier hs-type">t</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span class="hs-keyword">class</span><span> </span><span id="HasModule"><span class="annot"><a href="GHC.Unit.Module.html#HasModule"><span class="hs-identifier hs-var">HasModule</span></a></span></span><span> </span><span id="local-6989586621680801574"><span class="annot"><a href="#local-6989586621680801574"><span class="hs-identifier hs-type">m</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-83"></span><span>    </span><span id="getModule"><span class="annot"><a href="GHC.Unit.Module.html#getModule"><span class="hs-identifier hs-type">getModule</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="#local-6989586621680801574"><span class="hs-identifier hs-type">m</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span>
</span><span id="line-86"></span><span class="hs-comment">-- | Test if a 'Module' corresponds to a given 'InstalledModule',</span><span>
</span><span id="line-87"></span><span class="hs-comment">-- modulo instantiation.</span><span>
</span><span id="line-88"></span><span class="annot"><a href="GHC.Unit.Module.html#installedModuleEq"><span class="hs-identifier hs-type">installedModuleEq</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-89"></span><span id="installedModuleEq"><span class="annot"><span class="annottext">installedModuleEq :: InstalledModule -&gt; Module -&gt; Bool
</span><a href="GHC.Unit.Module.html#installedModuleEq"><span class="hs-identifier hs-var hs-var">installedModuleEq</span></a></span></span><span> </span><span id="local-6989586621680801572"><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680801572"><span class="hs-identifier hs-var">imod</span></a></span></span><span> </span><span id="local-6989586621680801571"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801571"><span class="hs-identifier hs-var">mod</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-90"></span><span>    </span><span class="annot"><span class="annottext">(InstalledModule, Maybe InstantiatedModule) -&gt; InstalledModule
forall a b. (a, b) -&gt; a
</span><a href="../../base/src/Data.Tuple.html#fst"><span class="hs-identifier hs-var">fst</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; (InstalledModule, Maybe InstantiatedModule)
</span><a href="GHC.Unit.Module.html#getModuleInstantiation"><span class="hs-identifier hs-var">getModuleInstantiation</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801571"><span class="hs-identifier hs-var">mod</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">InstalledModule -&gt; InstalledModule -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680801572"><span class="hs-identifier hs-var">imod</span></a></span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span class="hs-comment">-- | Test if a 'Unit' corresponds to a given 'UnitId',</span><span>
</span><span id="line-93"></span><span class="hs-comment">-- modulo instantiation.</span><span>
</span><span id="line-94"></span><span class="annot"><a href="GHC.Unit.Module.html#unitIdEq"><span class="hs-identifier hs-type">unitIdEq</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Unit"><span class="hs-identifier hs-type">Unit</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-95"></span><span id="unitIdEq"><span class="annot"><span class="annottext">unitIdEq :: UnitId -&gt; Unit -&gt; Bool
</span><a href="GHC.Unit.Module.html#unitIdEq"><span class="hs-identifier hs-var hs-var">unitIdEq</span></a></span></span><span> </span><span id="local-6989586621680801570"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801570"><span class="hs-identifier hs-var">iuid</span></a></span></span><span> </span><span id="local-6989586621680801569"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801569"><span class="hs-identifier hs-var">uid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unit -&gt; UnitId
</span><a href="GHC.Unit.Types.html#toUnitId"><span class="hs-identifier hs-var">toUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680801569"><span class="hs-identifier hs-var">uid</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; UnitId -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801570"><span class="hs-identifier hs-var">iuid</span></a></span><span>
</span><span id="line-96"></span><span>
</span><span id="line-97"></span><span class="hs-comment">{-
************************************************************************
*                                                                      *
                        Hole substitutions
*                                                                      *
************************************************************************
-}</span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span class="hs-comment">-- | Given a possibly on-the-fly instantiated module, split it into</span><span>
</span><span id="line-106"></span><span class="hs-comment">-- a 'Module' that we definitely can find on-disk, as well as an</span><span>
</span><span id="line-107"></span><span class="hs-comment">-- instantiation if we need to instantiate it on the fly.  If the</span><span>
</span><span id="line-108"></span><span class="hs-comment">-- instantiation is @Nothing@ no on-the-fly renaming is needed.</span><span>
</span><span id="line-109"></span><span class="annot"><a href="GHC.Unit.Module.html#getModuleInstantiation"><span class="hs-identifier hs-type">getModuleInstantiation</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedModule"><span class="hs-identifier hs-type">InstantiatedModule</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-110"></span><span id="getModuleInstantiation"><span class="annot"><span class="annottext">getModuleInstantiation :: Module -&gt; (InstalledModule, Maybe InstantiatedModule)
</span><a href="GHC.Unit.Module.html#getModuleInstantiation"><span class="hs-identifier hs-var hs-var">getModuleInstantiation</span></a></span></span><span> </span><span id="local-6989586621680801567"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801567"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-111"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680801566"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801566"><span class="hs-identifier hs-var">uid</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680801565"><span class="annot"><span class="annottext">Maybe InstantiatedUnit
</span><a href="#local-6989586621680801565"><span class="hs-identifier hs-var">mb_iuid</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unit -&gt; (UnitId, Maybe InstantiatedUnit)
</span><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier hs-var">getUnitInstantiations</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; Unit
forall unit. GenModule unit -&gt; unit
</span><a href="GHC.Unit.Types.html#moduleUnit"><span class="hs-identifier hs-var hs-var">moduleUnit</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801567"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-112"></span><span>    </span><span class="hs-keyword">in</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitId -&gt; ModuleName -&gt; InstalledModule
forall unit. unit -&gt; ModuleName -&gt; GenModule unit
</span><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-var">Module</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801566"><span class="hs-identifier hs-var">uid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; ModuleName
forall unit. GenModule unit -&gt; ModuleName
</span><a href="GHC.Unit.Types.html#moduleName"><span class="hs-identifier hs-var hs-var">moduleName</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801567"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-113"></span><span>        </span><span class="annot"><span class="annottext">(InstantiatedUnit -&gt; InstantiatedModule)
-&gt; Maybe InstantiatedUnit -&gt; Maybe InstantiatedModule
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621680801564"><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801564"><span class="hs-identifier hs-var">iuid</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; ModuleName -&gt; InstantiatedModule
forall unit. unit -&gt; ModuleName -&gt; GenModule unit
</span><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-var">Module</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801564"><span class="hs-identifier hs-var">iuid</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; ModuleName
forall unit. GenModule unit -&gt; ModuleName
</span><a href="GHC.Unit.Types.html#moduleName"><span class="hs-identifier hs-var hs-var">moduleName</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680801567"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe InstantiatedUnit
</span><a href="#local-6989586621680801565"><span class="hs-identifier hs-var">mb_iuid</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-114"></span><span>
</span><span id="line-115"></span><span class="hs-comment">-- | Return the unit-id this unit is an instance of and the module instantiations (if any).</span><span>
</span><span id="line-116"></span><span class="annot"><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier hs-type">getUnitInstantiations</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Unit"><span class="hs-identifier hs-type">Unit</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedUnit"><span class="hs-identifier hs-type">InstantiatedUnit</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-117"></span><span id="getUnitInstantiations"><span class="annot"><span class="annottext">getUnitInstantiations :: Unit -&gt; (UnitId, Maybe InstantiatedUnit)
</span><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier hs-var hs-var">getUnitInstantiations</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#VirtUnit"><span class="hs-identifier hs-type">VirtUnit</span></a></span><span> </span><span id="local-6989586621680801562"><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801562"><span class="hs-identifier hs-var">iuid</span></a></span></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Indefinite UnitId -&gt; UnitId
forall unit. Indefinite unit -&gt; unit
</span><a href="GHC.Unit.Types.html#indefUnit"><span class="hs-identifier hs-var hs-var">indefUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; Indefinite UnitId
forall unit. GenInstantiatedUnit unit -&gt; Indefinite unit
</span><a href="GHC.Unit.Types.html#instUnitInstanceOf"><span class="hs-identifier hs-var hs-var">instUnitInstanceOf</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801562"><span class="hs-identifier hs-var">iuid</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; Maybe InstantiatedUnit
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801562"><span class="hs-identifier hs-var">iuid</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-118"></span><span class="annot"><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier hs-var">getUnitInstantiations</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#RealUnit"><span class="hs-identifier hs-type">RealUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Definite"><span class="hs-identifier hs-type">Definite</span></a></span><span> </span><span id="local-6989586621680801557"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801557"><span class="hs-identifier hs-var">uid</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680801557"><span class="hs-identifier hs-var">uid</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Maybe InstantiatedUnit
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-119"></span><span class="annot"><a href="GHC.Unit.Module.html#getUnitInstantiations"><span class="hs-identifier hs-var">getUnitInstantiations</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="GHC.Unit.Types.html#HoleUnit"><span class="hs-identifier hs-var">HoleUnit</span></a></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; (UnitId, Maybe InstantiatedUnit)
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Hole unit&quot;</span></span><span>
</span><span id="line-120"></span><span>
</span><span id="line-121"></span><span class="hs-comment">-- | Remove instantiations of the given instantiated unit</span><span>
</span><span id="line-122"></span><span class="annot"><a href="GHC.Unit.Module.html#uninstantiateInstantiatedUnit"><span class="hs-identifier hs-type">uninstantiateInstantiatedUnit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedUnit"><span class="hs-identifier hs-type">InstantiatedUnit</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedUnit"><span class="hs-identifier hs-type">InstantiatedUnit</span></a></span><span>
</span><span id="line-123"></span><span id="uninstantiateInstantiatedUnit"><span class="annot"><span class="annottext">uninstantiateInstantiatedUnit :: InstantiatedUnit -&gt; InstantiatedUnit
</span><a href="GHC.Unit.Module.html#uninstantiateInstantiatedUnit"><span class="hs-identifier hs-var hs-var">uninstantiateInstantiatedUnit</span></a></span></span><span> </span><span id="local-6989586621680801554"><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801554"><span class="hs-identifier hs-var">u</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-124"></span><span>    </span><span class="annot"><span class="annottext">Indefinite UnitId -&gt; Instantiations -&gt; InstantiatedUnit
</span><a href="GHC.Unit.Types.html#mkInstantiatedUnit"><span class="hs-identifier hs-var">mkInstantiatedUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; Indefinite UnitId
forall unit. GenInstantiatedUnit unit -&gt; Indefinite unit
</span><a href="GHC.Unit.Types.html#instUnitInstanceOf"><span class="hs-identifier hs-var hs-var">instUnitInstanceOf</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801554"><span class="hs-identifier hs-var">u</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-125"></span><span>                       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((ModuleName, Module) -&gt; (ModuleName, Module))
-&gt; Instantiations -&gt; Instantiations
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621680801552"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801552"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Module
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801552"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; Module
forall u. ModuleName -&gt; GenModule (GenUnit u)
</span><a href="GHC.Unit.Module.html#mkHoleModule"><span class="hs-identifier hs-var">mkHoleModule</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801552"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-126"></span><span>                         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; Instantiations
forall unit. GenInstantiatedUnit unit -&gt; GenInstantiations unit
</span><a href="GHC.Unit.Types.html#instUnitInsts"><span class="hs-identifier hs-var hs-var">instUnitInsts</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801554"><span class="hs-identifier hs-var">u</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-127"></span><span>
</span><span id="line-128"></span><span class="hs-comment">-- | Remove instantiations of the given module instantiated unit</span><span>
</span><span id="line-129"></span><span class="annot"><a href="GHC.Unit.Module.html#uninstantiateInstantiatedModule"><span class="hs-identifier hs-type">uninstantiateInstantiatedModule</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedModule"><span class="hs-identifier hs-type">InstantiatedModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstantiatedModule"><span class="hs-identifier hs-type">InstantiatedModule</span></a></span><span>
</span><span id="line-130"></span><span id="uninstantiateInstantiatedModule"><span class="annot"><span class="annottext">uninstantiateInstantiatedModule :: InstantiatedModule -&gt; InstantiatedModule
</span><a href="GHC.Unit.Module.html#uninstantiateInstantiatedModule"><span class="hs-identifier hs-var hs-var">uninstantiateInstantiatedModule</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span id="local-6989586621680801550"><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801550"><span class="hs-identifier hs-var">uid</span></a></span></span><span> </span><span id="local-6989586621680801549"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801549"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; ModuleName -&gt; InstantiatedModule
forall unit. unit -&gt; ModuleName -&gt; GenModule unit
</span><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-var">Module</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstantiatedUnit -&gt; InstantiatedUnit
</span><a href="GHC.Unit.Module.html#uninstantiateInstantiatedUnit"><span class="hs-identifier hs-var">uninstantiateInstantiatedUnit</span></a></span><span> </span><span class="annot"><span class="annottext">InstantiatedUnit
</span><a href="#local-6989586621680801550"><span class="hs-identifier hs-var">uid</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680801549"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-131"></span><span>
</span><span id="line-132"></span><span class="hs-comment">-- | Test if a Module is not instantiated</span><span>
</span><span id="line-133"></span><span id="local-6989586621680801618"><span class="annot"><a href="GHC.Unit.Module.html#isHoleModule"><span class="hs-identifier hs-type">isHoleModule</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#GenModule"><span class="hs-identifier hs-type">GenModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#GenUnit"><span class="hs-identifier hs-type">GenUnit</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680801618"><span class="hs-identifier hs-type">u</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-134"></span><span id="isHoleModule"><span class="annot"><span class="annottext">isHoleModule :: forall u. GenModule (GenUnit u) -&gt; Bool
</span><a href="GHC.Unit.Module.html#isHoleModule"><span class="hs-identifier hs-var hs-var">isHoleModule</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnit u
</span><a href="GHC.Unit.Types.html#HoleUnit"><span class="hs-identifier hs-var">HoleUnit</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-135"></span><span class="annot"><a href="GHC.Unit.Module.html#isHoleModule"><span class="hs-identifier hs-var">isHoleModule</span></a></span><span> </span><span class="annot"><span class="annottext">GenModule (GenUnit u)
</span><span class="hs-identifier">_</span></span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-136"></span><span>
</span><span id="line-137"></span><span class="hs-comment">-- | Create a hole Module</span><span>
</span><span id="line-138"></span><span id="local-6989586621680801621"><span class="annot"><a href="GHC.Unit.Module.html#mkHoleModule"><span class="hs-identifier hs-type">mkHoleModule</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#GenModule"><span class="hs-identifier hs-type">GenModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#GenUnit"><span class="hs-identifier hs-type">GenUnit</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680801621"><span class="hs-identifier hs-type">u</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-139"></span><span id="mkHoleModule"><span class="annot"><span class="annottext">mkHoleModule :: forall u. ModuleName -&gt; GenModule (GenUnit u)
</span><a href="GHC.Unit.Module.html#mkHoleModule"><span class="hs-identifier hs-var hs-var">mkHoleModule</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenUnit u -&gt; ModuleName -&gt; GenModule (GenUnit u)
forall unit. unit -&gt; ModuleName -&gt; GenModule unit
</span><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-var">Module</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnit u
forall uid. GenUnit uid
</span><a href="GHC.Unit.Types.html#HoleUnit"><span class="hs-identifier hs-var">HoleUnit</span></a></span><span>
</span><span id="line-140"></span></pre></body></html>